package com.ch.home.service.serviceInterface.user;

import com.ch.home.bean.Feedback;
import com.ch.home.bean.User;

import java.util.HashMap;
import java.util.LinkedList;

/**
 * Created by CHEN on 2019/8/22.
 */
public interface UserService {

    String getUserName(Long id);

    /**
     * 根据username、userId、QQ、phone是否存在
     *
     * @param user
     * @return
     */
    boolean judgeExists(User user);

    User getUserByCondition(Long id, String username, String password, String phone, String QQ, String email);

    HashMap getUserByCondition(User user);

    /**
     * 登录，账号密码登录，手机QQ登录，邮箱密码登录
     *
     * @param user
     * @return
     */
    HashMap login(User user);

    /**
     * 账号密码注册，邮箱注册
     *
     * @param user
     * @param exists
     * @return
     */
    HashMap register(User user, boolean exists);

    /**
     * 手机QQ，注册
     *
     * @param user
     * @param exists
     * @return
     */
    HashMap otherRegister(User user, boolean exists);

    /**
     * 用于获取map中包含的数据,map为传入的Json封装而成
     *
     * @param map
     * @return
     */
//    User getUserFromMap(Map<Object, Object> map);

    /**
     * gender,phone,email,QQ,portrait,status,integral等属性修改
     * 条件是：userId，username
     * 其中integral只传改变的数字（负数也可，移动端判断够不够减的问题，暂时默认永远够减）
     *
     * @param user
     */
    HashMap update(User user);


    /**
     * 返回用户信息列表
     *
     * @return
     */
    LinkedList<User> listUser();


}
